<?php


/*<--上传文件功能-->*/
         function upload($val){





                    /*print_r ($_FILES);die;$_FILES有数据*/

                    /*<优化：限定上传文件的大小>*/

                        /*定义变量存文件大小限定值*/
                        $size = 17880000;

                        /*获取上传的文件大小，并用它和限定值比较*/
                        if($val['size']>$size){
                            echo " <script> alert('您上传的文件过大');history.go(-1);</script>";die;

                        }

                    /*</优化：限定上传文件的大小>*/


                    /*<优化：限定上传文件的类型>*/

                        /*定义数组$type存允许上传的类型*/
                        $type =array('jpg','jpeg','png','gif');// print_r($type);die;

                        /*获取上传文件的格式类型，直接获取的不是所需，需要加工，对其进行字符串截取*/
                        $filetype = $val['type'];

                        /*获取字符串截取的开始位置， image/jpeg，找到一个‘/’出现的位置+1*/
                        $sta=stripos($filetype,'/')+1; // echo $sta;die;

                        /*截取 字符串    开始位置？并给$filetype重新赋值*/
                        $filetype=substr($filetype,$sta);//echo $filetype;die;

                        /*开始判断上传文件类型是否是允许类型 in_array():在数组中寻找与参数2相同的值，有返回1，无返回-1*/
                        if(!in_array($filetype,$type)){
                            echo " <script> alert('您上传的文件类型不在指定范围内');history.go(-1);</script>";die;

                        }
                    /*</优化：限定上传文件的类型>*/

                    /*<优化：文件名和路径动态生成，避免多次上传时，文件被重复覆盖>*/

                        /*文件名随机生成*/
                        $filenames =date('YmdHis').mt_rand(1111999,2222999).'.'.$filetype;  //echo $filenames;die;

                        /*
                            动态创建文件夹形成动态路径，获取当前日期动态创建当前日期的文件夹
                        mkdir(创建文件路径，给文件授权，允许一次性创建完文件夹)并优化，*/
                        $dt ='./file/'.date('Y-m').'/'.date('d').'/';

                        /*如果路径已存在则不再创建文件夹 直接拼上这个路径$dt*/
                        if(!is_dir($dt)){

                            mkdir($dt,0777,true);

                        }


                        /*定义变量存移动文件的路径=自动生成的路径（$autopath）拼上随机文件名($filenames)*/
                        $filepath =$dt.$filenames; //echo $filepath;die;

                    /*</优化：文件名和路径动态生成，避免多次上传时，文件被重复覆盖>*/


                    /*将上传成功的文件移动到指定目录下move_uploaded_file（文件上传路径，文件存储路径）*/
                    move_uploaded_file($val['tmp_name'], $filepath);

                    /*调用缩略图函数 将上传的图片的保存路径传函数*/

                    $filepath=thum($filenames,$dt);

                    return $filepath;


                }
/*<--/上传文件功能-->*/
